#ifndef _SRKRT_DYNAMICSTACK_
#define _SRKRT_DYNAMICSTACK_
/* implementation de la pile dynamique */
#include "srkrt_struct.h"
#define MAX_SIZE       200


/* ---------------------------------------
	Declaration des fonctions 
--------------------------------------- */

/*
Nom : stack_create
Fct : cree une nouvelle pile
Entree : adresse d'une Stack
Sortie : -
*/
void stack_create(Stack *s);

/*
Nom : stack_is_empty
Fct : détermine si une Stack est vide
Entree : Stack
Sortie : booléen
*/
bool stack_is_empty(Stack *s);

/*
Nom : stack_is_full
Fct : détermine si une Stack est pleine
Entree : Stack
Sortie : booléen
*/
bool stack_is_full(Stack *s);

/*
Nom : stack_add
Fct : ajoute un élément à un Stack
Entree : adresse d'une Stack, Element
Sortie : -
*/
void stack_add(Stack *s, Move m);

/*
Nom : stack_remove
Fct : supprime l'élément de tete à un Stack
Entree : adresse d'une Stack
Sortie : -
*/
void stack_remove(Stack *s);

/*
Nom : stack_head
Fct : retourne l'élément de tete de la Stack
Entree : Stack
Sortie : Move
*/
Move stack_head(Stack *s);

#endif
